package prova;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;



public class ReadFileCSVCD {
	
	static String filePath = "/home/okkam/Nicola/provaCD.txt";
    
	public List apriStream(String filePath){
    	// definiamo il percorso al file da leggere
    	ArrayList<String> listaRecord = null;
        File doc = new File(filePath);
    	InputStream is;
    	BufferedReader reader;
    	String stringaLetta = "";
		try {
			listaRecord = new ArrayList<String>();
			is = new FileInputStream(doc);
			reader = new BufferedReader(new InputStreamReader(is));
			stringaLetta = reader.readLine();
	  		  int i = 0;
	  		  while  ((stringaLetta = reader.readLine()) != null) {
	  			  	if (stringaLetta!="null"){
	  			  		
	  			  	listaRecord.add(stringaLetta);
	  			  		
	  				}
	  		  }
	  		 
	  		  reader.close();
	  		  is.close();
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		catch (IOException e)
	    {
	      System.out.println(e.getMessage());
	    }
    	
		return listaRecord;
    	
    }
    
	public static ArrayList<Cambiamento> creaListaPuntiCD(List listaRecord) {
		
		ArrayList<Cambiamento> arrayListPuntiCD = new ArrayList<Cambiamento>();
	    
		// legge lista record
	  Iterator<String> irecord = listaRecord.iterator();
	  while  (irecord.hasNext()) {
		  String stringaLetta = irecord.next();  			  		
  		Cambiamento puntoCD = creaPuntiCD(stringaLetta);		  		
		arrayListPuntiCD.add(puntoCD);// QUANDO LEGGO TUTTA LA RIGA LO AGGIUNGO
		// ALL'ARRAYLIST DEI POLIGONI
			
	  }  
        
    return arrayListPuntiCD;
    
   }
    
    private static Cambiamento creaPuntiCD(String stringaLetta) {
    	String delims = "[;]";
  		String[] tokens = stringaLetta.split(delims);
    	ArrayList<Punto> arrayListVertici = new ArrayList();
  		
    	Cambiamento cambiamento = new Cambiamento();
  		Punto punto = new Punto();
		cambiamento.setCDType(tokens[4]);
	  	if ((!(tokens[2]).equals("0")) ||(!(tokens[3]).equals("0"))){
	  		punto.setX(Double.parseDouble(tokens[2]));
	  		punto.setY(Double.parseDouble(tokens[3]));
			//test
	  				/*System.out.println("token: " + tokens[h]);
	  				System.out.println("token[h+1]: " + tokens[h+1]);
	  				System.out.println("punto.x: " + punto.getX());
	  				System.out.println("punto.y: " + punto.getY());*/
			arrayListVertici.add(punto);}
		cambiamento.setPunto(punto);
	  	return cambiamento;
    }
	
	public static void main(String[] args){
	  //public ArrayList<ArrayList<Punto>> getPoligoni(){
		
		Punto punto = new Punto();
		ArrayList<Punto> arrayCDPoint = new ArrayList();
		
	   
	    }

	
}



